package proxyMethod.Impl;

import proxyMethod.BookStore;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class BookStoreHandler implements InvocationHandler {
    private final BookStore realBookStore;

    public BookStoreHandler(BookStore realBookStore) {
        this.realBookStore = realBookStore;
    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        // 在此处可以添加自定义的权限控制或其他逻辑
        System.out.println("通过代理执行 " + method.getName() + " 方法");
        return method.invoke(realBookStore, args); // 调用实际对象的方法
    }
}
